pub trait TaskInterface {
    fn run(&self) -> Result<(), (&'static str, i32)>;
    fn revert(&self) -> Result<(), (&'static str, i32)> {
        panic!("Task revert not implemented");
    }
    fn signature(&self) -> &str;
}
